/*
 * 
 * LegendShop 多用户商城系统
 * 
 *  版权所有,并保留所有权利。
 * 
 */
package com.legendshop.oa.pages;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.legendshop.oa.constants.PageDefinition;
import com.legendshop.oa.constants.PagePathCalculator;

/**
 * 管理员的页面定义.
 */
public enum RedirectPage implements PageDefinition {

	/** The VARIABLE. 可变路径 */
	VARIABLE(""),
	
	/** 登录页  */
	ADMIN_LOGIN("/adminlogin"),

	/** 商品管理首页 */
	ADMIN_INDEX_QUERY("/admin/index"),
	
	/** 管理员列表 */
	ADMINUSER_LIST_QUERY("/admin/adminUser/query"),
	
	/** 地区管理 */
	DISTRICT_LIST_PAGE("/admin/system/district/query"),
	
	/** 全局配置 */
	SYSTEM_CONFIG_QUERY("/admin/system/systemConfig/load"),
	
	/** 参数管理 */
	PARAM_LIST_QUERY("/admin/system/systemParameter/query"),
	
	
	PROJECT_LIST_QUERY("/admin/project/query"), //查询尚未完成的项目列表
	
	PROJECT_FINISH_LIST_QUERY("/admin/project/queryFinish"), //查询已经完成项目
	
	PROJECT_MODULE_LIST_QUERY("/admin/projectModule/query"),
	
	
	PROJECT_MEMBER_LIST_QUERY("/admin/projectMember/query"), 
	
	TASK_LIST_QUERY("/admin/task/query"),

	TASK_LOAD_BY_PROJECT_QUERY("/admin/task/loadByProject"), //根据ID来加载
	
	TASK_FINISH_LIST_QUERY("/admin/task/queryFinish"), //查询已经完成的任务
	
	PROJECT_PLAN_LIST_QUERY("/admin/projectPlan/query"), 
	
	/**
	 * 我的地盘
	 */
	MYLAND_QUERY("/admin/myland/query"),

	;

	/** The value. */
	private final String value;

	private RedirectPage(String value, String... template) {
		this.value = value;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.legendshop.core.constant.PageDefinition#getValue(javax.servlet.http
	 * .HttpServletRequest)
	 */
	public String getValue(HttpServletRequest request, HttpServletResponse response) {
		return getValue(request, response, value, this);
	}

	public String getValue(HttpServletRequest request, HttpServletResponse response, String path,
			PageDefinition pageDefinition) {
		return PagePathCalculator.calculateActionPath("redirect:", path);
	}

	/**
	 * Instantiates a new tiles page.
	 * 
	 * @param value
	 */
	private RedirectPage(String value) {
		this.value = value;
	}

	public String getNativeValue() {
		return value;
	}

}
